
#ifndef __RAY_H__
#define __RAY_H__

#include "vec3.hh"

class ray {
	public : 
		point3 orig;
		vec3 dir;

	public : 
		ray() {}
		ray(const point3& p, const vec3& v) : orig{p}, dir{v} {}

		point3 origin() const { return orig; }
		vec3 direction() const { return dir; }

		point3 at(double t) const { return orig + t * dir; }

};

#endif
